閱讀提醒:本文會以解析高級賽車模板功能來介紹 Vehicle Blueprint(車輛藍圖)如何撰寫車輛的視角控制。
食用說明:閱讀此篇前,請先到 Project Setting 設定 Engine Input。
https://ithelp.ithome.com.tw/articles/10295600Unreal Engine:5.03 高級賽車模板
OS:Windows10
1. 滑鼠控制視角
2. 第一人稱及第三人稱視角切換
寫完了基本的移動控制,現在就來看看視角控制吧!
今天就從玩家可以透過滑鼠控制相機視角開始吧~
這塊可以實現當你使用第三人稱視角,可以使用滑鼠控制相機的視角,並且視角會圍繞車輛本身。
首先一樣請大家先到 Project Setting 設定好 Engine Input。(連結在最上方)
我們從視角的 Input 開始吧,首先新增 InputAxis LookRight
事件及 Branch
,並點擊 Axis Value
節點拖曳至空白處並搜尋及新增 not equal
( != 不等於),將其 Output 連上 Branch
的 Condition
節點。
True
節點:若玩家正在使用滑鼠旋轉視角,則為 True
,
True
,先從節點新增 Add Local Rotation
( Back Camera 的 Spring Arm),設定旋轉視角需圍繞著車輛,並在 Delta Rotation
上方點擊右鍵,選擇 Split Struct Pin
,將節點展開,並將 Z 軸
節點與 Axis Value
節點連上。False
節點:重設相機的角度
False
,則從節點新增 Set Relative Rotation
,並將 Target
節點連上 Spring Arm
。Z 軸
新增傅立葉插值 Finterp To
,會根據時間、速度執行插值,平滑相機以固定的速度回到原始的角度。Spring Arm
拖曳到空白處,接著新增 Get Relative Rotation
,並點擊右鍵選擇 Split Struct Pin
展開,將 Z 軸
做為 Current
輸入值。Get World Delta Seconds
並傳遞給 Delta Time
節點,亦為須要在規定的速度內完成插值,也就是 Current 的值到 Target 值(0~1)。如下圖,整個邏輯串起來之後,就會長這樣~
在模板中,車輛的視角預設是第三人稱,也就是使用後攝影機在追蹤車輛的行駛,若想要切換成第一人稱視角,就必須改成前攝影機(方向盤那座)。
InputAction Switch Camera
的事件,將 Pressed
節點連接上 Deactivate
,也就是停用事件,並將事件 Target
連上 Front Camera
、Back Camera
。Flip Flop
節點,執行到該節點時,它會輪流執行 A
、B
節點的事件。A
、B
節點分別新增 Activate
,也就是啟用事件,並將 Front Camera
、Back Camera
分別輸入 Target
。也就是說,我們給一個切換視角的 Input,會先停用所有的攝影機,再利用Flip Flop
節點去輪流執行啟用前攝影機或後攝影機。
TIPS:
除了大區塊註解可以按C
之外,還可以在各個藍圖事件、函數、變數上點擊右鍵,在NODE COMMENT
輸入要註解的內容,並按 Enter 鍵,就會出現在事件的上方。
小結:視角的控制就到這邊囉~明天好像剩下 UI 的部份!各位加油~ ٩(๑•̀ω•́๑)۶